package medOffice.mainbd;

import java.sql.Time;
import java.util.Scanner;

import medOffice.Consulta;
import medOffice.Paciente;

import medOffice.Enuns.EstadoDaConsulta;
import medOffice.Enuns.TipoDeConsulta;
import medOffice.Enuns.Urgencia;
import medOffice.dao.ConsultaDAO;

/**
 * Classe usada apenas para auxiliar na interface grafica.
 * @author Tiago Leite - tiagohsl@lcc.ufcg.edu.br
 * @version 0.1 </br> 02/10/09
 *
 */
public class MainConsulta {

	/**
	 * Metodo main
	 * @param args
	 * @throws Exception
	 */
	public static void main(String[] args) throws Exception {
		
		Scanner sc = new Scanner(System.in);
		ConsultaDAO dao = new ConsultaDAO();		
		
		String resp;
			
		do{
			System.out.println("Digite a Opção:");
			System.out.println("1- criar consulta");
			System.out.println("2- recuperar consultas");
			System.out.println("3- atualizar consulta por cpf");
			System.out.println("4- deletar consulta");
			System.out.println("5- sair");
			
			Consulta consulta = new Consulta();			
			
			resp = sc.nextLine();
			
			if (resp.equals("1")){
				
				System.out.println("Digite a urgencia da consulta:" +
						" (S - N)  ");
				String urgencia = sc.nextLine();
				
				System.out.println("Digite a cpf do paciente: ");
				String cpf = sc.nextLine();
				
				System.out.println("Digite a data da consulta: (dd/mm/aaaa) ");
				String data = sc.nextLine();
				
				System.out.println("Digite a hora da consulta: (hh:mm:ss) ");
				String hora = sc.nextLine();
				
				Time novoTempo = Time.valueOf(hora);
				consulta.setHoraConsulta(novoTempo);
				
				consulta.setEstadoDaConsulta(EstadoDaConsulta.NAO_ATENDIDO);
				consulta.setTipoDeConsulta(TipoDeConsulta.CONSULTA);
				consulta.setUrgencia(Urgencia.valueOf(urgencia));
				consulta.setData(MainPaciente.conversorData(data));
				consulta.setPaciente(new Paciente());
				consulta.getPaciente().setCPF(cpf);		
				
				dao.create(consulta);
			}
			
			if (resp.equals("2")){
				System.out.println("Listando Consultas:");
				dao.recuperaDadosConsultas();
			}
			
			if (resp.equals("3")){
				System.out.println("Digite o cpf do paciente:");
				String nome = sc.nextLine();
				System.out.println("Digite o novo cpf do paciente:");
				String novoNome = sc.nextLine();
				dao.update(nome, novoNome);
			}
			
			if (resp.equals("4")){
				System.out.println("Digite o cpf do paciente:");
				String nome = sc.nextLine();
				dao.delete(nome);
			}
			
			
		}while (!resp.equals("5"));
		
		dao.closeConnection();
		
	}
	
}
